결합도와 응집도

❓질문

결합도와 응집도에 대해 설명해주세요.


💡 조사하기전 내가 알고 있던 내용

결합도 - 자스제외공내
응집도 - 기순교절시논우

결합도는 자료 결합도 , 스탬드 결합도 , 제어결합도 , 외부결합도 , 공통결합도 , 내용결합도
<-- 결합도 약함 ----- 결합도 강함 -->

응집도는 기능적 응집도 , 순차적 응집도 , 교환적 응집도 , 절차적 응집도 , 시간적 응집도 , 논리적 응집도 , 우연적 응집도
<-- 응집도 강함 ----- 응집도 약함 -->

결합도는 서로 다른 모듈간에 얼마나 의존하고있는지의 정도를 나타냅니다 보통 결합도가 약할수록 모듈간의 분리가 잘되어있고 코드의 재사용성을 높혔다 라고 할 수 있습니다.
결합도가 강한 경우에는 1번 모듈을 변경하였을때 2번 모듈도 알게모르게 원치않게 코드를 수정해야하는 경우가 생길 수도 있습니다.

응집도는 모듈안에 요소들이 얼마나 밀접하게 관련되어있는지를 의미합니다. 응집도가 높을수록 해당 모듈이 단일한 목적을 가지고 있습니다.
응집도가 높을수록 유지보수성과 가독성이 좋아집니다.


🏫 정리한 내용

Pasted image 20250821172327.png|300

보통 이런식으로 결합도가 낮고 응집도가 높은 high cohesion loose coupling를 방향으로 개발을 하면 유리한 것이지
모든 프로그래밍에 적용되는 말은 아니다. 때로는 상황에 따라 유연하게 적용하는법도 생각하면서 개발을 하면 좋을 것 같다.